#pragma once
#include "myString.h"
#include "Pair.h"

enum Data_par {SEX, AGE, POSITION, SALARY};

class BD 
{
	Pair** m_employee;
	size_t m_n, m_cap;
public:
	BD() :m_n(0), m_cap(0), m_employee(nullptr) {}
	BD(const size_t& cap) : m_n(0), m_cap(cap) { m_employee = new Pair * [cap]; }
	BD(const BD&);//copy-constructor
	BD(BD&&);//move copy-constructor
	~BD();
		
	void Add_employee(const char* name, const Data& data);// ���������� ����������� � ����
	void Add_employee(const char* name);
	void Dell_employee(const char* name);//���������� ���������� �� ����
	//void Print_employee(const char* name) const;
	//void Print_BD()const;//����� ���� (��� ������������) ���������� � ���� �����������

	BD& operator=(const BD&);
	BD& operator=(BD&&);
	Data& operator[](const char*);
	Data& operator[](const char*) const;	
	
	friend std::ostream& operator<<(std::ostream&, const BD&); // ����� ����(��� ������������) ���������� � ���� �����������
	friend std::ostream& operator<<(std::ostream&, const Data_par&);//����� ���������� � ���������� ����������
}; 

